import {
    BASE_URL
} from '../../../http/config';
Page({
    data: {
        consultants: [], // 咨询师列表
        consultantIndex: -1, // 当前选中的咨询师索引
        selectedConsultantId: null, // 选中的咨询师ID
        date: '', // 选择的日期
        description: '', // 情况说明
        freeConsultCount: 3 // 剩余咨询次数
    },

    onLoad() {
        // 从后端获取咨询师列表
        this.fetchConsultants();
    },

    // 获取咨询师列表
    fetchConsultants() {
        wx.request({
            url: `${BASE_URL}/consult/page`,
            success: (res) => {
                if (res.data.code === 200) {
                    const List = res.data.data.list;
                    this.setData({
                        consultants: List
                    });
                    console.log(this.data.consultants)
                }
            }
        });
    },

    // 选择咨询师
    bindConsultantChange(e) {
        const index = e.detail.value;
        const selectedConsultant = this.data.consultants[index];
        this.setData({
            consultantIndex: index,
            selectedConsultantId: selectedConsultant.id
        });
    },

    // 选择日期
    bindDateChange(e) {
        this.setData({
            date: e.detail.value
        });
    },

    // 输入情况说明
    bindDescriptionInput(e) {
        this.setData({
            description: e.detail.value
        });
    },

    // 提交表单
    handleSubmit() {
        if (!this.validateForm()) return;

        const userInfo = wx.getStorageSync('userInfo'); // 获取用户信息
        if (!userInfo || !userInfo.id) {
            wx.showToast({
                title: '用户未登录',
                icon: 'none'
            });
            return;
        }
        if (!this.data.date || !/^\d{4}-\d{2}-\d{2}$/.test(this.data.date)) {
            wx.showToast({
                title: '请选择有效日期',
                icon: 'none'
            });
            return;
        }
        // 提交表单之前格式化日期
        const fullDate = this.data.date + ' 00:00:00';

        const formData = {
            reservationTime: fullDate,
            situationDesc: this.data.description,
            userId: userInfo.id,
            consultId: this.data.selectedConsultantId,
            del: 0
        };

        wx.request({
            url: `${BASE_URL}/consultReservation/add`, // 接口地址
            method: 'POST',
            data: formData,
            header: {
                'Content-Type': 'application/json'
            },
            success: (res) => {
                if (res.data.code === 200) {
                    wx.showToast({
                        title: '预约成功'
                    });
                    wx.switchTab({
                        url: '/pages/index/index'
                    });
                } else {
                    wx.showToast({
                        title: res.data.message || '提交失败',
                        icon: 'none'
                    });
                }
            }
        });
    },

    // 表单验证
    validateForm() {
        if (!this.data.selectedConsultantId) {
            wx.showToast({
                title: '请选择咨询师',
                icon: 'none'
            });
            return false;
        }
        if (!this.data.date) {
            wx.showToast({
                title: '请选择日期',
                icon: 'none'
            });
            return false;
        }
        if (!this.data.description.trim()) {
            wx.showToast({
                title: '请输入情况说明',
                icon: 'none'
            });
            return false;
        }
        return true;
    },

    // 取消操作
    handleCancel() {
        // 清空表单数据
        this.setData({
            consultantIndex: 0,
            selectedConsultantId: null,
            date: '',
            description: ''
        });
        // 返回首页
        wx.switchTab({
            url: '/pages/index/index'
        });
    }
});